The invention relates to the arranging of data error check and to the processing of erroneous data, particularly in the transmission of IP (Internet Protocol) packets.
Rapidly advancing IP technology has expanded the field of use of diverse IP-based applications beyond the conventional Internet data transfer. IP-based telephone applications in particular have developed rapidly, due to which an ever-increasing portion of the transfer path of the calls can be implemented using IP technology. Mobile communications networks in particular form an area where IP technology is anticipated to provide a host of advantages, because in addition to conventional speech services, which could be provided using different IP-based voice applications, mobile communications networks will be increasingly offering diverse data services, such as browsing of the Internet and electronic mail services, which are typically most advantageously produced as packet-switched IP-based services. Hence, IP-layers adapted to the protocols of the mobile communications system could be used for providing both audio/video services and various data services.
The IP layer is not guaranteed to provide error-free transfer on the network layer, but transfer reliability is achieved on the higher TCP (Transport Control Protocol) layer. TCP is responsible for acknowledging the packets and re-transmitting them. However, TCP does not meet the requirements of real-time applications where delay is critical. Real-time applications typically employ UDP (a User Datagram Protocol) for transferring audio and video data. Although UDP does not cause any additional delay because of re-transmissions and acknowledgements, it does not provide a reliable connection either. The audio/video flows to be carried over a packet-switched network are formed into packets and synchronized by RTP (a Real-time Transport Protocol) using UDP. Diverse error-check methods have been devised for the physical layer, particularly for data to be transferred over the radio interface. An error check method that is often used is CRC (Cyclic Redundancy Check), which allows transmission errors of a specific type to be detected.
In this application, the term ‘payload’ is used for data which is substantially useful for the application employed and ‘header fields’ for fields added into the payload by lower layers taking care of the data transfer of the application. In voice applications, the payload comprises for example voice samples and control data, the header fields on the network layer being for example RTP, UDP and IP header fields. The needs of the payload of the data to be transferred differ from those of the header fields, particularly as regards error tolerance. An error in the header fields would usually mean that the packet could not be transmitted to the correct recipient, although it might still be useful in the decompressing of the header fields. On the other hand, if the error were in the payload, the packet would probably be useful for a real-time application for generating an image or speech. However, erroneous data packets are typically discarded although they might be useful.